Jump to content
  • 0

Защита формы без капчи


Aleksty
 Share

Question

Здравствуйте!

Есть (надеюсь, что была) проблема!

В силу дизайна, нежелательно вставлять капчу в форму, а поэтому долго искал в интернете какое-нибудь решение, но так и не нашел ничего подходящего, все сложно, тяжело, непонятно....

Пришлось включить мозги и собрать некую конструкцию, которая, с точки зрения логики, должна работать, но....

Знаний крайне мало, определить пригодность сам не могу, прошу совет!

И так, конструкция:

1. Есть форма -

<form id="myForm2" target="myform2" method="post" action="mail/mail2.php" name="f2" onsubmit="javascript: this.subt2.disabled='disabled';">

onsubmit="javascript: this.subt2.disabled='disabled';" - отключим кнопку после события онклик.

2. Есть инпуты - имя, емейл, тема, сообщение - это стандарт, плюс еще один инпут, про который и пойдет речь -

<strong style="display: none;"><b class="uni">в</b>аша фамилия:</strong><br>

<input class="fm0" name="spam2" type="text" value="1959196320002011002" onFocus="func02();" style="display: none;" pattern="^\s*\d{19}\s*">

Как видите называется - фамилия, заполненое цифрами поле валуа и ссылка на скрипт при событии onFocus (просто очистит поле валуа)

То есть он практически стандартный, кроме параметра display: none, короче, это что-то типа засады ;)

<script type="text/javascript">

function func02(){

document.f2.elements[0].value='';

}

</script>

и проверка валидации (pattern="^\s*\d{19}\s*"), которая заточена на проверку 19 ЦИФР(!) в поле валуа, ну и основное - этот инпут скрытый (style="display: none;"), но имеет атрибут type="text", а не хиде, что важно по-моему.

3. Кнопка сабмит -

<input class="fm2" name="subt2" type="submit" value="отправить" onClick="setTimeout('func2()',1000);">

Где событие онклик очистит форму через некоторое время (setTimeout) и ....ЗАПОЛНИТ ПОЛЕ ВАЛУА В СКРЫТОМ ИНПУТЕ!!!

<script type="text/javascript">

function func2(){

document.f2.elements[0].value='1959196320002011002';

document.f2.elements[1].value='';

document.f2.elements[2].value='';

document.f2.elements[3].value='';

document.f2.elements[4].value='';

}

</script>

Как я рассуждал:

1. Страницу нашел спам бот.

2. Заполнил формы, скрытую в том числе.

3. Отправил, кнопка отключилась и...

получил сообщение о неправильном заполнении, так как в скрытом инпуте должно быть только 19 цифр и ничего более.

4. Через короткое время форма восстановилась и надо начинать все с начала.

То есть отправка корректна только при заполненном цифрами скрытом поле!

Которое не видно нормальному пользователю, а значит при заполненной корректно форме ему ничего не грозит, все пройдет гладко.

Сброс значений через короткое время, это подножка спамерам челам - балбесам, любителям писать на заборах, может надоест каждый раз вводить все данные по новой.

Может бот знать про эти цифры?

Тут я пас, бог ее знает, как работают эти боты.

Вот и хотелось бы услышать ответ -

ЕСТЬ ЛИ ТОЛК В ТАКОЙ СИСТЕМЕ?

Заранее спасибо за ответы!

Алексей.

ЗЫ. Если кого заинтересует сие изделие, напишите, скину весь комплект!

Edited by Aleksty
Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 0

толка нет.

Бот боту рознь, зачастую схема выглядит так. Заходит к вам на форум человек, включает запись макроса регится. Сохраняет макрос, далее указывает поля куда скажем надо подставлять слова из словаря или рандомно(поле логина, почта и т.д.) и все далее ставит боту этот макрос на повтор, суть в том что бот будет заполнять только те поля которые заполнял хозяин.

Еще более интересно развита система запоминания инпутов, развитые программки могут запоминать порядок инпутов в DOM могу запоминать любой атрибут или группу атребутов ну и т.д.

Бот в состоянии даже капчу ломать(достаточно указать где ловить картинку и куда вводить занчения) есть ряд сервисов которые за 1-2 цента помогают ботам в этом ))). Бот также в состоянии пользоваться прокси листом(выглядит вообще здорово берешь список из скажем 300 проксиков и указываешь боту что после каждого 30 раза использовать следующий прокси).

Edited by stars
Link to comment
Share on other sites

  • 0

Чтобы не мучаться с дизайном, капчу можно расположить не непосредственно в форме, а во всплывающем диве после нажатия кнопки submit.

Ну и тут одного средства защиты нет, тут поможет только комплекс. В т.ч. было бы хорошо контролировать частоту отправки формы с одного ip. Если слишком часто - блокировать этот ip и выводить отправителю форму с капчой, чтобы подтвердить, что это человек, а не бот.

Еще можно скриптом определять как заполняется форма, с клавиатуры или paste'ом, если не так и не так, то тоже предлагать дополнительную капчу.

Потом, капча то не обязательно должна быть картинкой с символами. Это могут быть какие-то вопросы. Например "сколько будет два умножить на два?" или "как называется наша планета?". Забить в базу сотенку таких вопросов и рандомно выбирать их.

Link to comment
Share on other sites

  • 0

А вот и первый спамер!

Накликал, блин... ;)

ЗЫ. Оперативно приговорили раздолбая, браво модерам!

Чтобы не мучаться с дизайном, капчу можно расположить не непосредственно в форме, а во всплывающем диве после нажатия кнопки submit

Спасибо, но это сложновато для меня.

Если честно, то сайт и так перегружен всякими скриптами, потому и хотелось что-то придумать компактное.

Edited by Aleksty
Link to comment
Share on other sites

  • 0

толка нет.

Бот боту рознь, зачастую схема выглядит так. Заходит к вам на форум человек, включает запись макроса регится. Сохраняет макрос, далее указывает поля куда скажем надо подставлять слова из словаря или рандомно(поле логина, почта и т.д.) и все далее ставит боту этот макрос на повтор, суть в том что бот будет заполнять только те поля которые заполнял хозяин.

Еще более интересно развита система запоминания инпутов, развитые программки могут запоминать порядок инпутов в DOM могу запоминать любой атрибут или группу атребутов ну и т.д.

Бот в состоянии даже капчу ломать(достаточно указать где ловить картинку и куда вводить занчения) есть ряд сервисов которые за 1-2 цента помогают ботам в этом ))). Бот также в состоянии пользоваться прокси листом(выглядит вообще здорово берешь список из скажем 300 проксиков и указываешь боту что после каждого 30 раза использовать следующий прокси).

Вот с этой капчей этот скрипт бесполезен

http://habrahabr.ru/blogs/ui/101739/

Link to comment
Share on other sites

  • 0

а вот с этой капчей, вообще бесполезно что-либо ;)

Прикольно, дочке моей точно понравится ;)

Только одно но!

Дизайн страницы нужно начинать именно с этой капчи, а не наоборот.

Забавно, но не универсально.

Хорошего охранника не должно быть видно, аксиома.

Понимаю, что это фантазии, но заморочку со скрытой защитой именно поэтому и затеял.

Подождем, может кто и придумает что-то подобное.

В принципе, если защита скрытая, то под нее можно и большой объем выделить, не проблема.

У меня 12 Гб на хосте, 1 готов отдать под защиту, не проблема... :)

ЗЫ. Например.

Почему информация должна уходить со страницы сразу?

Почему не выделить какое-то место на сайте, типа предварительного "склада" что-ли.... До окончательного одобрения программой или человеком?

Ну глумится спам бот или балбес какой, ну переполнил кеш, ну и все, на сегодня хватит! Очистил, забил в запрет умника и все по новой.

Что-то типа такой замороки, может и поможет

Edited by Aleksty
Link to comment
Share on other sites

  • 0

Ну я не писал что капча бесполезна ))) Я лишь написал что есть сервисы распознавания текста на картинке при искажении, конечно далеко не любое искажение удается прочитать, но с какими-то простыми капчами боты уже давно справляются.

Я сам защищаю свои сайты именно таким способом как в статье у s0rr0w (статьи я не видел, но видел сайт где это работало, опять таки ссылку давал s0rr0w) работает великолепно.

Link to comment
Share on other sites

  • 0

Я сам защищаю свои сайты именно таким способом как в статье у s0rr0w (статьи я не видел, но видел сайт где это работало, опять таки ссылку давал s0rr0w) работает великолепно.

А можно ссылку, аж интересно стало!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy